#include "PhysicalProperty.h"

namespace steam
{
	namespace firebox
	{
		static const TypeID idStatic("PhysicalProperty");

		PhysicalProperty::PhysicalProperty() : m_boundingVolume(NULL)
		{
			m_transform.identity();
		}

		PhysicalProperty::~PhysicalProperty()
		{
			delete m_boundingVolume;
		}

		base::IBoundingVolume* PhysicalProperty::getBoundingVolume() const
		{
			return m_boundingVolume;
		}

		void PhysicalProperty::setBoundingVolume( base::IBoundingVolume* val )
		{
			m_boundingVolume = val;
		}

		base::Vector3 PhysicalProperty::getPosition() const
		{
			return m_transform.getPosition();
		}

		void PhysicalProperty::setPosition( base::Vector3 val )
		{
			m_transform.identity();
			m_transform.translate(val);
		}

		SMFloat PhysicalProperty::getMassKG() const
		{
			return m_massKG;
		}

		void PhysicalProperty::setMassKG( SMFloat val )
		{
			m_massKG = val;
		}

		const TypeID& PhysicalProperty::getIDStatic()
		{
			return idStatic;
		}

		const base::Matrix4& PhysicalProperty::getTransformation() const
		{
			return m_transform;
		}

	}
}